如果说deque是加强版的list的话,那加强版的字典又是什么的呢?没错,就是今天学习的defaultdict,它与deque一样,都是在collections库中的模块。
先来看这样一个问题:
s = [('Tom', 5), ('Jone', 2), ('Susan', 4), ('Tom', 4), ('Tom', 1)]
对于这样一个元组列表,如果我们想要将它转化为字典,该如何操作呢?我们很容易想到这样的操作:
d={}
s = [('Tom', 5), ('Jone', 2), ('Susan', 4), ('Tom', 4), ('Tom', 1)]
for i,j in s:
d[i]=j
print一下,结果是什么呢?
{'Susan': 4, 'Jone': 2, 'Tom': 1}
这并不是我们期待的结果。在这个例子中,字典中‘Tom’键对应了三个值,我们希望这三个值以列表得形式储存。可以对代码进行一些修改:
k={}
s = [('Tom', 5), ('Jone', 2), ('Susan', 4), (